var hplus = {};
hplus.init = function () {
    (function () {
        // MetsiMenu
        $('#side-menu').metisMenu();
        // 打开右侧边栏
        $('.right-sidebar-toggle').click(function () {
            $('#right-sidebar').toggleClass('sidebar-open');
        });

        // 右侧边栏使用slimscroll
        $('.sidebar-container').slimScroll({
            height: '100%',
            railOpacity: 0.4,
            wheelStep: 10,
            size: '5px'
        });

        // 打开聊天窗口
        $('.open-small-chat').click(function () {
            $(this).children().toggleClass('fa-comments').toggleClass('fa-remove');
            $('.small-chat-box').toggleClass('active');
        });

        // 聊天窗口使用slimscroll
        // $('.small-chat-box .content').slimScroll({
        //     height: '234px',
        //     railOpacity: 0.4
        // });

        // Small todo handler
        // $('.check-link').click(function () {
        //     var button = $(this).find('i');
        //     var label = $(this).next('span');
        //     button.toggleClass('fa-check-square').toggleClass('fa-square-o');
        //     label.toggleClass('todo-completed');
        //     return false;
        // });

        //固定菜单栏
        $(function () {
            $('.sidebar-collapse').slimScroll({
                height: '100%',
                railOpacity: 0.9,
                alwaysVisible: false,
                size: '5px'
            });
        });

        // 菜单切换
        $('.navbar-minimalize').click(function () {
            $("body").toggleClass("mini-navbar");
            SmoothlyMenu();
        });


        // 侧边栏高度
        function fix_height() {
            var heightWithoutNavbar = $("body > #wrapper").height() - 61;
            $(".sidebard-panel").css("min-height", heightWithoutNavbar + "px");
        }
        fix_height();

        $(window).bind("load resize click scroll", function () {
            if (!$("body").hasClass('body-small')) {
                fix_height();
            }
        });

        //侧边栏滚动
        $(window).scroll(function () {
            if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav')) {
                $('#right-sidebar').addClass('sidebar-top');
            } else {
                $('#right-sidebar').removeClass('sidebar-top');
            }
        });

        $('.full-height-scroll').slimScroll({
            height: '100%',
            size: '5px'
        });

        $('#side-menu>li').click(function () {
            if ($('body').hasClass('mini-navbar')) {
                NavToggle();
            }
        });
        $('#side-menu>li li a').click(function () {
            if ($(window).width() < 769) {
                NavToggle();
            }
        });

        //点击菜单的时候高亮显示菜单
        $("a[name='tabMenuItem']").click(function () {
            clearTabMenuItem();
            $(this).addClass("tab-menu-selected");
        });

        $('.nav-close').click(NavToggle);

        //ios浏览器兼容性处理
        if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
            $('#content-main').css('overflow-y', 'auto');
        }
    }());

    $(window).bind("load resize", function () {
        if ($(this).width() < 769) {
            $('body').addClass('mini-navbar');
            $('.navbar-static-side').fadeIn();
        }
    });

    //主题设置
    (function () {
        // 顶部菜单固定
        $('#fixednavbar').click(function () {
            if ($('#fixednavbar').is(':checked')) {
                $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
                $("body").removeClass('boxed-layout');
                $("body").addClass('fixed-nav');
                $('#boxedlayout').prop('checked', false);

                if (localStorageSupport) {
                    localStorage.setItem("boxedlayout", 'off');
                }

                if (localStorageSupport) {
                    localStorage.setItem("fixednavbar", 'on');
                }
            } else {
                $(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
                $("body").removeClass('fixed-nav');

                if (localStorageSupport) {
                    localStorage.setItem("fixednavbar", 'off');
                }
            }
        });

        // 收起左侧菜单
        $('#collapsemenu').click(function () {
            if ($('#collapsemenu').is(':checked')) {
                $("body").addClass('mini-navbar');
                SmoothlyMenu();

                if (localStorageSupport) {
                    localStorage.setItem("collapse_menu", 'on');
                }
            } else {
                $("body").removeClass('mini-navbar');
                SmoothlyMenu();

                if (localStorageSupport) {
                    localStorage.setItem("collapse_menu", 'off');
                }
            }
        });

        // 固定宽度
        $('#boxedlayout').click(function () {
            if ($('#boxedlayout').is(':checked')) {
                $("body").addClass('boxed-layout');
                $('#fixednavbar').prop('checked', false);
                $(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
                $("body").removeClass('fixed-nav');
                if (localStorageSupport) {
                    localStorage.setItem("fixednavbar", 'off');
                }
                if (localStorageSupport) {
                    localStorage.setItem("boxedlayout", 'on');
                }
            } else {
                $("body").removeClass('boxed-layout');

                if (localStorageSupport) {
                    localStorage.setItem("boxedlayout", 'off');
                }
            }
        });

        // 默认主题
        $('.s-skin-0').parent().parent().click(function () {
            $("body").removeClass("skin-1");
            $("body").removeClass("skin-2");
            $("body").removeClass("skin-3");
            localStorageSupport() && localStorage.setItem('hplus_theme', 'skin-0');
            return false;
        });

        // 蓝色主题
        $('.s-skin-1').parent().parent().click(function () {
            $("body").removeClass("skin-2");
            $("body").removeClass("skin-3");
            $("body").addClass("skin-1");
            localStorageSupport() && localStorage.setItem('hplus_theme', 'skin-1');
            return false;
        });

        // 黄色主题
        $('.s-skin-3').parent().parent().click(function () {
            $("body").removeClass("skin-1");
            $("body").removeClass("skin-2");
            $("body").addClass("skin-3");
            localStorageSupport() && localStorage.setItem('hplus_theme', 'skin-3');
            return false;
        });

        if (localStorageSupport) {
            var skin = localStorage.getItem("hplus_theme");
            skin && $('.s-' + skin).parent().parent().trigger('click');
            
        }

        if (localStorageSupport) {
            var collapse = localStorage.getItem("collapse_menu");
            var fixednavbar = localStorage.getItem("fixednavbar");
            var boxedlayout = localStorage.getItem("boxedlayout");

            if (collapse == 'on') {
                $('#collapsemenu').prop('checked', 'checked')
            }
            if (fixednavbar == 'on') {
                $('#fixednavbar').prop('checked', 'checked')
            }
            if (boxedlayout == 'on') {
                $('#boxedlayout').prop('checked', 'checked')
            }
        }

        if (localStorageSupport) {
            var collapse = localStorage.getItem("collapse_menu");
            var fixednavbar = localStorage.getItem("fixednavbar");
            var boxedlayout = localStorage.getItem("boxedlayout");

            var body = $('body');

            if (collapse == 'on') {
                if (!body.hasClass('body-small')) {
                    body.addClass('mini-navbar');
                }
            }

            if (fixednavbar == 'on') {
                $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
                body.addClass('fixed-nav');
            }

            if (boxedlayout == 'on') {
                body.addClass('boxed-layout');
            }
        }
    }());
};

function clearTabMenuItem() {
    $("a[name='tabMenuItem']").each(function () {
        $(this).removeClass("tab-menu-selected");
    });
}

function highLightMenuItem(hrefVal) {
    clearTabMenuItem();
    $("a[href='" + hrefVal + "']").addClass("tab-menu-selected");
}

function NavToggle() {
    $('.navbar-minimalize').trigger('click');
}

function SmoothlyMenu() {
    if (!$('body').hasClass('mini-navbar')) {
        $('#side-menu').hide();
        setTimeout(
            function () {
                $('#side-menu').fadeIn(500);
            }, 100);
    } else if ($('body').hasClass('fixed-sidebar')) {
        $('#side-menu').hide();
        setTimeout(
            function () {
                $('#side-menu').fadeIn(500);
            }, 300);
    } else {
        $('#side-menu').removeAttr('style');
    }
}

//判断浏览器是否支持html5本地存储
function localStorageSupport() {
    return (('localStorage' in window) && window['localStorage'] !== null)
}

export default hplus;